package com.naiterui.ehp.bs.patient.vo.inquirer;

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * @Description 添加/编辑 就诊人VO
 * @Author gongbaoqiang
 * @Date 2020/7/8 11:41 AM
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
@ApiModel("添加就诊")
public class InquirerParamVO implements Serializable {
    private static final long serialVersionUID = 5789097495552607799L;

    /**
     * 监护人、紧急联系人 是否是患者本人：1：是，2：否
     */
    public static final int  GUARDIAN_FLAG_SELF = 1;
    public static final int  GUARDIAN_FLAG_OTHER = 2;

    @ApiModelProperty(value = "就诊人ID")
    private Long id;

    @ApiModelProperty("就诊人id")
    private Long inquirerId;

    @ApiModelProperty(value = "患者id")
    private Long patientId;

    @ApiModelProperty(value = "就诊人姓名")
    @NotBlank( message = "就诊人姓名不能为空")
    private String name;

    /**
     * 身份证号：<code>idNo</code>
     */
    @ApiModelProperty(value = "身份证号")
    private String idCard;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    // @NotNull(message = "就诊人性别不能为空")
    private Integer gender;

    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期")
    // @NotNull(message = "出生日期不能为空")
    private Date birthday;

    /**
     * 出生证明图片：小于6岁时才有
     */
    @ApiModelProperty(value = "出生证明图片")
    private String birthImage;

    @ApiModelProperty(value = "就诊人手机号")
    private String phone;

    @ApiModelProperty(value = "与患者关系")
    @NotNull(message = "请选择就诊人与患者关系")
    private Integer relation;


    @ApiModelProperty(value = "监护人姓名")
    // @NotBlank(message = "监护人姓名不能为空")
    private String guardianName;

    @ApiModelProperty(value = "监护人身份证号")
    // @NotBlank(message = "监护人身份证号不能为空")
    private String guardianIdCard;

    @ApiModelProperty(value = "监护人电话")
    // @NotBlank(message = "监护人电话不能为空")
    private String guardianPhone;

    @ApiModelProperty(value = "监护人是否是患者本人：1：是，2：否")
    private Integer guardianFlag;

    @ApiModelProperty(value = "验证码")
    private String msgCode;

    @ApiModelProperty("短信验证码发送类型")
    private Integer actionType;

    @ApiModelProperty("城市信息")
    private Integer cityId;

    @ApiModelProperty("居住地址")
    private String address;

    @ApiModelProperty(value = "紧急联系人是否是患者本人：1：是，2：否")
    private Integer contactFlag;

    @ApiModelProperty("紧急联系人姓名")
    private String contactName;

    @ApiModelProperty("紧急联系人电话")
    private String contactPhone;

    @ApiModelProperty("婚姻状况：0未婚；1已婚")
    private Short maritalStatus;

    @ApiModelProperty("低龄儿童标识(0，否；1，是)")
    private Integer childTag;

    @ApiModelProperty(value = "过敏史")
    private String allergy;

    @ApiModelProperty(value = "既往史")
    private String pastHistory;

    @ApiModelProperty(value = "医生id， 首次问诊修改时必填")
    private Long doctorId;

    @ApiModelProperty(value = "首次问诊修改 0.否 1.是")
    private Integer isFirstUpdate;
}
